class A:
    def __init__(self) -> None:
        self.num1 = 100
        self.__num2 = 99
    def __test(self):
        print("这是私有方法 %d %d"%(self.num1,self.__num2))
    def test(self):
        print("父类的公有方法 %d"% self.__num2)
        self.__test
        
class B(A):
    def demo(self):
        
        # 1 子类对象方法中，不能访问父类私有属性
        # print("访问父类私有属性 %d"%self.__num2) 
        # 2 不能调用父类私有方法
        # self.__test
        # 3 访问父类的公有属性
        print("子类方法 %d"% self.num1)
        # 4 调用父类的公有方法
        self.test()

b = B()
b.demo()
#在外界不能访问对象的私有属性/调用私有方法
# print(b)
# print(b.__num2)
# b.__test()

#在外界访问父类的公有属性/调用公有方法
# print(b.num1)
# b.test()